//
//  SegmentDownloadSession.h
//  SegmentDownloadDemo
//
//  Created by gao on 2018/7/9.
//  Copyright © 2018年 gao. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "SegmentDownloadTask.h"
typedef void (^BGCompletedHandler)(void);
@interface SegmentDownloadSession : NSObject
+(instancetype)share;
+(NSURLSession *)session;
+(void)reCreateSession;
+(void)startDownloadSubTask:(SegmentDownloadTask_SubTask *)subTask;


/**
 后台某一下载任务完成时，第一次在AppDelegate中的 -(void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)(void))completionHandler
 回调方法中调用该方法。多个task，一个session，只调用一次AppDelegate的回调方法。
 completionHandler 回调执行后，app被系统唤醒的状态会变为休眠状态。
 
 @param handler 后台任务结束后的调用的处理方法
 @param identifier background session 的标识
 */
-(void)addCompletionHandler:(BGCompletedHandler)handler identifier:(NSString *)identifier;


@end
